﻿$(function () {

    $("#dialog-conta").dialog({
        autoOpen: false,
        //height: 470,
        width: 550,
        draggable: false,
        resizable: false,
        modal: true,
        show: 'blind',
        hide: "blind",
        title: "Gerenciamento de contas",
        close: function () { $("div.formError").remove(); }
    });

    $("#dialog-categoria").dialog({
        autoOpen: false,
        //height: 470,
        width: 550,
        draggable: false,
        resizable: false,
        modal: true,
        show: 'blind',
        hide: "blind",
        title: "Gerenciamento de categorias",
        close: function () { $("div.formError").remove(); }
    });

    //******************* INÍCIO EVENTOS DA MODAL CONTA *****************************
    $("a.nova-conta").click(function () {
        $.get(path + "Conta/Index", {}, function (partial) {
            $("#dialog-conta").html(partial).dialog("open");

            $.validator.unobtrusive.parse('#dialog-conta form');
            $("#form-conta").makeValidationInline();
        });
    });

    $("#dialog-conta button.enviar").live("click", function (evt) {
        
        if ($("#form-conta").valid()) {
            $.post(path + "Conta/Index", $("#dialog-conta form").serialize(), function (partial) {
                $("#dialog-conta table tbody").html(partial);
                $("#dialog-conta form input[type=text]").val("");
            });
        }

        evt.preventDefault();
    });

    $("#dialog-conta span.apagar").live("click", function () {
        var idConta = $(this).data("idconta");
        var $tr = $(this).closest("tr");

        $.post(path + "Conta/Apagar", {id:idConta}, function (json) {
            if (json == true){
                $tr.fadeOut("slow", function(){
                    $(this).remove();
                });                    
            }
        });
    });

    $("#dialog-conta span.alterar").live("click", function () {
        var idConta = $(this).data("idconta");
        var $tr = $(this).closest("tr");

        $.get(path + "Conta/Alterar", {id:idConta}, function (partial) {
            $tr.html(partial);
                
            $.validator.unobtrusive.parse($tr.find("form"));
            $tr.find("form").makeValidationInline();
        });
    });

    $("#dialog-conta span.salvar").live("click", function (evt) {
        var $tr = $(this).closest("tr");

        if ($("#dialog-conta table tr form").valid()){
            $.post(path + "Conta/Alterar", $tr.find("form").serialize(), function (partial) {
                $tr.html(partial);
            });
        }

        evt.preventDefault();
    });

    $("#dialog-conta span.cancelar").live("click", function (evt) {
        var idConta = $(this).data("idconta");
        var $tr = $(this).closest("tr");

        $.post(path + "Conta/Cancelar", {id:idConta}, function (partial) {
            $tr.html(partial);
        });

        evt.preventDefault();
    });

    //******************* INÍCIO EVENTOS DA MODAL CATEGORIA **************************
    $("a.nova-categoria").click(function () {
        $.get(path + "Categoria/Index", {}, function (partial) {
            $("#dialog-categoria").html(partial).dialog("open");

            $.validator.unobtrusive.parse('#form-categoria');
            $("#form-categoria").makeValidationInline();
        });
    });

    $("#button-enviar-categoria").live("click", function (evt) {

        if ($("#form-categoria").valid()) {
            $.post(path + "Categoria/Index", $("#form-categoria").serialize(), function (partial) {
                $("#dialog-categoria").html(partial);

                $.validator.unobtrusive.parse('#form-categoria');
                $("#form-categoria").makeValidationInline();
            });
        }

        evt.preventDefault();
    });

    $("#dialog-categoria span.apagar").live("click", function () {
        var idCategoria = $(this).data("idcategoria");
        var idcategoriamae = $(this).data("idcategoriamae");
        var $tr = $(this).closest("tr");

        var pars = {};
        if (idcategoriamae)
            pars = { id: idCategoria, idCategoriaMae: idcategoriamae };
        else
            pars = { id: idCategoria };

        $.post(path + "Categoria/Apagar", pars, function (json) {
            if (json == true) {
                $tr.fadeOut("slow", function () {
                    $(this).remove();
                });
            }
        });
    });

});